package com.chenyun.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chenyun.common.annotation.Page;
import com.chenyun.common.vo.PageResult;
import com.chenyun.system.model.SmsTemplate;
import com.chenyun.system.param.SmsTemplateQueryPage;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;

/**
 * ISysSmsTemplateService：
 *
 * @author: Lonni
 * @date: 2023/12/11 0011 10:42
 */
public interface ISmsTemplateService extends IService<SmsTemplate> {


    /**
     * 获取短信模版
     * @param code
     * @return
     */
    public SmsTemplate getTemplateByCode(String code);


    /**
     * 创建模版
     *
     * @param template
     * @return
     */
    public SmsTemplate createTemplate(@Valid SmsTemplate template);

    /**
     * 添加模版 控制是否同步到短信平台
     *
     * @param template
     * @param isSync   是否同步
     * @return
     */
    public SmsTemplate createTemplateAndSync(@Valid SmsTemplate template, Boolean isSync);


    public Boolean updatetemplate(@Valid SmsTemplate template);

    Boolean delTemplate(Long id);

    /**
     * 获取指定短信渠道下模版数量
     *
     * @param id
     * @return
     */

    public Long getTemplateCountByChannel(@NotNull Long id);

    @Page
    PageResult page(SmsTemplateQueryPage page);
}
